package com.wlyuan.open.scanner.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author yuanjie
 * @since 2022-11-07
 */
@Data
@TableName("Price_DocIndex")
@ApiModel(value = "PriceDocindexDO对象", description = "")
public class PriceDocIndexDO implements Serializable {


    private static final long serialVersionUID = 4773073966545809587L;
    @ApiModelProperty("报价ID")
    @TableId(value = "Index_ID", type = IdType.AUTO)
    private Long indexId;

    @ApiModelProperty("报价编号")
    private String indexCode;

    @ApiModelProperty("报价合同号")
    private String indexPactcode;

    @ApiModelProperty("报价名字")
    private String indexName;

    @ApiModelProperty("开始时间")
    private LocalDateTime indexStarttime;

    @ApiModelProperty("结束时间")
    private LocalDateTime indexEndtime;

    @ApiModelProperty("描叙")
    private String indexDescription;

    @ApiModelProperty("按单报价订单号")
    private Long indexOrderid;

    @ApiModelProperty("无用")
    private Long indexSrcdocid;

    @ApiModelProperty("报价方式：1 按单报价 2 合约 3 补充报价 4 合单报价 5 合单补充")
    private Integer indexType;

    @ApiModelProperty("0 草稿 1 已发布 2 已同意 3已拒绝 4 已关闭 8 议价 32 关闭")
    private Integer indexStatus;

    @ApiModelProperty("状态改变时间")
    private LocalDateTime indexStatustime;

    @ApiModelProperty("客户ID")
    private Long indexCustomerid;

    @ApiModelProperty("客户公司ID")
    private Long indexCustomercompanyid;

    @ApiModelProperty("创建人ID")
    private Long indexCreatorid;

    @ApiModelProperty("创建公司")
    private Long indexCreatorcompanyid;

    @ApiModelProperty("创建时间")
    private LocalDateTime indexCreatetime;

    @ApiModelProperty("审核人")
    private Long indexConfirmer;

    @ApiModelProperty("审核时间")
    private LocalDateTime indexConfirmtime;

    @ApiModelProperty("是否失效 0 否 1 是")
    private Integer indexInvalid;

    @ApiModelProperty("备注")
    private String indexComments;

    @ApiModelProperty("线下承运商")
    private Long indexSuppliersymbolid;

    @ApiModelProperty("议价标识")
    private String indexPriceoffer;

    @ApiModelProperty("合约报价类型 0 一对多 1 多对一 2 多对多")
    private Integer indexContracttype;

    @ApiModelProperty("0可以强制过期 1 审核中")
    private Integer indexExpiredstatus;

    @ApiModelProperty("报价议价操作方标识：0 承运方 1 客户")
    private Integer indexFromtype;

    @ApiModelProperty("承运商ID")
    private Long indexSupplierid;

    @ApiModelProperty("承运商公司ID")
    private Long indexSuppliercompanyid;

    @ApiModelProperty("0,非个体司机 1,个体司机")
    private Integer indexDriver;

    @ApiModelProperty("报价类型：1客户 2线下客户")
    private Integer indexQuotetype;

    @ApiModelProperty("区分企业版报价和小程序报价 0,企业版 1,小程序")
    private Integer indexMobileprice;

    @ApiModelProperty("客户名称")
    private String priceCustomername;

    @ApiModelProperty("承运商名称")
    private String priceSuppliername;

    @ApiModelProperty("移动端标记")
    private String indexMobilemark;

    @ApiModelProperty("合约报价类型 1 线上客户 2 线下客户 3线下承运商  4自营  5个体司机 ")
    private Integer indexContractfromtype;

    private String indexGuid;

    private Long optStatus;

    private Long indexVersion;


    @TableField(exist = false)
    private String raw;

    @TableField(exist = false)
    @ApiModelProperty("承运商名称")
    private String carrierName;
    @TableField(exist = false)
    @ApiModelProperty("承运商id")
    private Long carrierId;
    @TableField(exist = false)
    @ApiModelProperty("承运商类型")
    private Integer carrierType;
    @TableField(exist = false)
    @ApiModelProperty("承运商租户")
    private Long upTenantId;
    @ApiModelProperty("报价：是否为发起者")
    @TableField(exist = false)
    private Boolean carrierIssue;

    @ApiModelProperty("发货方名称")
    @TableField(exist = false)
    private String customerName;
    @ApiModelProperty("发货方类型")
    @TableField(exist = false)
    private Integer customerType;
    @ApiModelProperty("发货方租户")
    @TableField(exist = false)
    private Long downTenantId;
    @ApiModelProperty("报价：是否为发起者")
    @TableField(exist = false)
    private Boolean customerIssue;


    @ApiModelProperty("报价对象类型")
    @TableField(exist = false)
    private Long subjectType;

}
